home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga CD-ROM Collection
/
Amiga CD-ROM Collection - Auge 4000 and Cactus and Demo Util.iso
/
cactus
/
01
/
basicprg's
/
boersenspiel
< prev
next >
Wrap
Text File
|
1988-04-30
|
10KB
|
422 lines
REM ***********************************
REM * Das Boersenspiel von F.Weichert * dieses Prg. ist Public-Domain
REM ***********************************
REM Falls Dir das Prg. gut gefaellt ueberweise 5,-DM an
REM Friedhelm Weichert
REM Kontonummer: 482125 Bankleitzahl: 31251350
REM Kreissparkasse Grevenbroich
Spielbeginn:
CLS
CLEAR
DIM tendenz(10),wert(10),aktie$(10),besitz(4),besitzaktien(4,10)
FOR i=1 TO 10
READ aktie$(i)
wert(i)=100
NEXT i
DATA Bayer,Daimler,VW,Siemens,Thyssen,Henkel,Hoechst,Kaufhof,Veba,BASF
FOR i= 1 TO 4
besitz(i)=50000&
NEXT i
PRINT "********************"
PRINT "* Das Boersenspiel *"
PRINT "********************"
PRINT " von"
PRINT " Friedhelm Weichert"
PRINT
PRINT "Ziel des Spiel ist es sein Kapital zu verzehnfachen."
PRINT
INPUT "Wieviele Mitspieler (max.4)";ms
PRINT
FOR i= 1 TO ms
PRINT "Name des ";i;". Spielers ";
INPUT spieler$(i)
NEXT i
Naechstertag:
schleifenmerker=1
RANDOMIZE TIMER
FOR j=1 TO 10
tendenz(j)=INT(RND*40)
wert(j)=wert(j)+tendenz(j)-20
IF wert(j) <= 9 THEN wert(j)=9
NEXT j
tag=tag+1
CLS
PRINT TAB(30);"********************"
PRINT TAB(30);"* ";
PRINT USING "###";tag;
PRINT ". Boersentag *"
PRINT TAB(30);"********************"
GOSUB WarteTaste
Start:
FOR i= schleifenmerker TO ms
BeginnAuswahl:
CLS
PRINT
GOSUB Uebersicht
PRINT
PRINT "Was moechtest Du? 1 = Kaufen"
PRINT " 2 = Verkaufen"
PRINT " 3 = Warten"
PRINT " 4 = Bilanz"
Warte:
a$=INKEY$
IF a$="" OR a$>"4" OR a$<"1" THEN Warte
ON VAL(a$) GOSUB Kaufen,Verkaufen,Warten,Bilanz
IF merker=1 THEN
merker=0
GOTO BeginnAuswahl
END IF
GOSUB Ereignis
IF besitz(i) > 500000& THEN Sieg
IF besitz(i) < 0 THEN
CLS
PRINT "Du hast Schulden !!!"
schuldmerker(i)=schuldmerker(i)+1
IF schuldmerker(i)=4 THEN
GOSUB Bankrott
GOSUB WarteTaste
schleifenmerker=i
GOTO Start
END IF
PRINT "Versuche Deine Schulden durch erfolgreichere Spekulationen zu"
PRINT "egalisieren. Dafuer hast Du noch ";4-schuldmerker(i);
IF schuldmerker(i) < 3 THEN
PRINT " Tage Zeit."
GOTO weiterschuld
END IF
PRINT " Tag Zeit."
weiterschuld:
GOSUB WarteTaste
END IF
IF besitz(i) >= 0 THEN schuldmerker(i)=0
NEXT i
GOTO Naechstertag
Uebersicht:
PRINT "Kapital von Spieler ";spieler$(i);":";besitz(i);" DM"
PRINT
PRINT "*******************************************************"
PRINT "* *"
FOR j = 1 TO 10
IF j=10 THEN
PRINT "* (";j;") ";aktie$(j);
GOTO sprungende
END IF
PRINT "* ( ";j;") ";aktie$(j);
sprungende:
IF wert(j) < 100 THEN
PRINT TAB(31);
END IF
IF wert(j) < 10 THEN
PRINT TAB(32);
END IF
IF wert(j) > 99 THEN
PRINT TAB(30);
END IF
PRINT wert(j);" DM";TAB(55);"*"
NEXT j
PRINT "* *"
PRINT "*******************************************************"
RETURN
Kaufen:
AnfangKaufen:
CLS
PRINT "Welche Aktie moechtest Du kaufen?(1-10) 0 = Keine Kaufen"
PRINT
GOSUB Uebersicht
Eingabewelcheaktie:
INPUT welcheaktie
IF welcheaktie < 0 OR welcheaktie > 10 THEN GOTO Eingabewelcheaktie
IF welcheaktie=0 THEN
merker=1
RETURN
END IF
PRINT "Wieviele Aktien moechtest Du von ";aktie$(welcheaktie);" erwerben";
INPUT wievieleaktien
IF wievieleaktien * wert(welcheaktie) > besitz(i) THEN
PRINT "Tut mir leid, soviel Geld hast Du nicht mehr."
GOSUB WarteTaste
GOTO AnfangKaufen
END IF
PRINT "OK!"
besitzaktie(i,welcheaktie)=besitzaktie(i,welcheaktie)+wievieleaktien
besitz(i)=besitz(i)-wievieleaktien*wert(welcheaktie)
PRINT "Dein Kapital betraegt nun nur noch ";besitz(i);"DM"
PRINT
PRINT
WarteTaste:
PRINT
PRINT TAB(20);"Druecke eine Taste zum weitermachen"
Warte1:
a$=INKEY$
IF a$="" THEN Warte1
RETURN
Verkaufen:
AnfangVerkaufen:
CLS
PRINT "Welche Aktie moechtest Du verkaufen? (1-10) 0 = Keine verkaufen"
PRINT " 99 = Notverkauf"
GOSUB Uebersicht
INPUT welcheaktie
IF welcheaktie = 99 THEN
FOR j = 1 TO 10
IF besitzaktie(i,j) > 0 THEN
gesamtbesitz(i)=gesamtbesitz(i)+besitzaktie(i,j)*wert(j)
besitzaktie(i,j)=0
END IF
NEXT j
besitz(i)=besitz(i)+gesamtbesitz(i)
gesamtbesitz(i)=0
CLS
PRINT "OK! Du hast alle deine Aktien verkauft."
PRINT "Dein Barvermoegen betraegt nun ";besitz(i);" DM."
PRINT
GOSUB WarteTaste
RETURN
END IF
IF welcheaktie = 0 THEN
merker=1
RETURN
END IF
PRINT "Du besitzt von ";aktie$(welcheaktie);besitzaktie(i,welcheaktie);" Aktien."
INPUT "Wieviele Aktien moechtest Du verkaufen";wievieleaktien
IF wievieleaktien > besitzaktie(i,welcheaktie) THEN
PRINT "Tut mir leid, soviele Aktien befinden sich nicht in Deinem Besitz"
GOSUB WarteTaste
GOTO AnfangVerkaufen
END IF
PRINT "OK!"
besitz(i)=besitz(i)+wievieleaktien*wert(welcheaktie)
besitzaktie(i,welcheaktie)=besitzaktie(i,welcheaktie)-wievieleaktien
PRINT
PRINT "Du hast jetzt noch ";besitz(i);" DM"
GOSUB WarteTaste
RETURN
Warten:
RETURN
Bilanz:
CLS
merker=1
PRINT
PRINT
PRINT "**********"
PRINT "* Bilanz *"
PRINT "**********"
PRINT "fuer Spieler ";spieler$(i)
PRINT
FOR j = 1 TO 10
IF besitzaktie(i,j) > 0 THEN
PRINT TAB(10);aktie$(j);TAB(25);
PRINT USING "#####";besitzaktie(i,j);
PRINT TAB(31);"X";TAB(35);
PRINT USING "###";wert(j);
PRINT " DM";TAB(45);"=";TAB(50);
PRINT USING "######";besitzaktie(i,j)*wert(j);
PRINT " DM"
gesamtbesitz(i)=gesamtbesitz(i)+besitzaktie(i,j)*wert(j)
END IF
NEXT j
gesamtbesitz(i)=gesamtbesitz(i)+besitz(i)
PRINT TAB(49);"-----------"
PRINT TAB(20);"+";TAB(22);
PRINT USING "######";besitz(i);
PRINT " DM Bargeld";
PRINT TAB(50);
PRINT USING "######";gesamtbesitz(i);
PRINT " DM Gesamt"
gesamtbesitz(i)=0
PRINT
PRINT
GOSUB WarteTaste
RETURN
Bankrott:
schuldmerker(i)=0
CLS
PRINT "Du bist Bankrott!"
PRINT "Du konntest Deine Schulden nicht innerhalb der gesetzten Frist"
PRINT "tilgen. Damit ist das Spiel fuer Dich beendet."
ms=ms-1
IF ms=0 THEN Spielende
FOR ii=i TO ms
spieler$(ii)=spieler$(ii+1)
besitz(ii)=besitz(ii+1)
FOR j= 1 TO 10
IF besitzaktie(ii+1,j) > 0 THEN
besitzaktie(ii,j)=besitzaktie(ii+1,j)
END IF
NEXT j
NEXT ii
RETURN
Sieg:
CLS
PRINT TAB(22);"*******************************"
PRINT TAB(22);"* Herzlichen Glueckwunsch !!! *"
PRINT TAB(22);"*******************************"
PRINT
PRINT "Du hast es geschafft dein Kapital zu verzehnfachen."
PRINT "Spieler ";spieler$(i);" erreichte ";besitz(i);" DM."
PRINT
Nochmal:
INPUT "Noch ein Spiel (J/N)";Nochmal$
IF Nochmal$="j" OR Nochmal$="J" THEN Spielbeginn
END
Spielende:
GOSUB WarteTaste
CLS
PRINT "Damit ist das Spiel beendet."
GOTO Nochmal
Ereignis:
CLS
RANDOMIZE TIMER
x=INT(RND*(50+1))
IF x=1 THEN
PRINT "Du hast Steuern hinterzogen !!!"
PRINT "Das Finanzamt ist Dir auf die Schliche gekommen..."
Zufall1:
RANDOMIZE TIMER
x1=INT(RND*1000)
x1=x1*10
IF x1 > besitz(i) THEN Zufall1
PRINT
PRINT "Dieses Unterfangen kostet ";x1;" DM an Nachzahlungen."
besitz(i)=besitz(i)-x1
PRINT "Jetzt besitzt Du nur noch ";besitz(i);" DM Bargeld."
END IF
IF x=2 THEN
PRINT "Dividendenauszahlung !!!"
PRINT "Du bekommst auf den Wert Deiner Aktien 7% ausgezahlt."
FOR j = 1 TO 10
IF besitzaktie(i,j) > 0 THEN
merker1=1
gesamtbesitz(i)=gesamtbesitz(i)+besitzaktie(i,j)*wert(j)
END IF
NEXT j
IF merker1=0 THEN RETURN
IF merker1=1 THEN merker1=0
gesamtbesitz(i)=gesamtbesitz(i)+CINT(gesamtbesitz(i)*.07)
PRINT "Das sind in Deinem Fall ";CINT(gesamtbesitz(i)*.07);" DM."
besitz(i)=besitz(i)+gesamtbesitz(i)
gesamtbesitz(i)=0
PRINT "Bar auf die Kralle kannst Du jetzt ";besitz(i);" Dein Eigen nennen."
END IF
IF x=3 THEN
PRINT "Du findest auf der Strasse eine Brieftasche mit 2000 DM."
besitz(i)=besitz(i)+2000
END IF
IF x=4 THEN
PRINT "Pech gehabt!!! Der Blitz schlug in Dein Haus ein."
PRINT "Die Reperaturarbeiten belangen sich auf 5000 DM."
besitz(i)=besitz(i)-5000
END IF
IF x=5 THEN
PRINT "Lohnsteuerjahresausgleich."
RANDOMIZE TIMER
x1=INT(RND*(1000))
x1=x1*10
x1=x1-5000
IF x1 < 0 THEN
x1=-x1
PRINT "Leider musst Du ";x1;" DM nachzahlen."
besitz(i)= besitz(i)-x1
x1=-x1
END IF
IF x1 > 0 THEN
PRINT "Du bekommst ";x1;" DM Nachzahlung."
besitz(i)=besitz(i)+x1
END IF
IF x1 = 0 THEN PRINT "Leider nichts bei rumgekommen..."
END IF
IF x=6 THEN
PRINT "Herzliches Beileid!"
PRINT "Deine Frau ist bei einem Verkehrunfall ums Leben gekommen."
PRINT "Du kassierst die Lebensversicherung in Hoehe von 100.000 DM !"
besitz(i)=besitz(i)+100000&
END IF
IF x=7 THEN
PRINT "Deine Kinder zerstoeren beim Fussballspielen die Scheibe eines"
PRINT "Moebelgeschaefts. Du bist nicht Haftpflichtversichert.
PRINT "Der Schaden belaeuft sich auf 2500 DM."
besitz(i)=besitz(i)-2500
END IF
IF x=8 THEN
PRINT "Wieder mal Pech gehabt..."
PRINT "Ein Firmenwagen geraet bei Glatteis ins Schleudern. Die ganze Ware"
PRINT "ist beschaedigt worden. Kosten: 20.000 DM"
besitz(i)=besitz(i)-20000
END IF
IF x = 9 THEN
PRINT"Deine Firma kommt durch Exportschwierigkeiten in ein finanzielles"
PRINT "Dilemma. Um das Finanzloch zu stopfen investierst Du aus Deinem"
PRINT "Privatvermoegen 50.000 DM."
besitz(i)=besitz(i)-50000&
END IF
IF x = 10 THEN
PRINT " S C H W A R Z E R F R E I T A G"
PRINT
PRINT " Boersensturz!"
PRINT " Alle Aktien verlieren die Haelfte ihres urspruenglichen Wertes."
FOR j= 1 TO 10
wert(j)=CINT(wert(j)/2)
NEXT j
END IF
GOSUB WarteTaste
RETURN